package com.hdu.dwh.utils;

import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;

import org.springframework.beans.BeanUtils;

import com.hdu.dwh.pojos.cube_pojos.Cube;
import com.hdu.dwh.pojos.cube_pojos.CuboidDimension;
import com.hdu.dwh.pojos.cube_pojos.Filter;
import com.hdu.dwh.pojos.cube_pojos.CubeMetric;
import com.hdu.dwh.vos.CubeVo;
import java.sql.*;

public class SQL {
    public static SqlBuilder builder(SqlType sqlType) {
        return new SqlBuilder(sqlType);
    }

    public static class SqlBuilder {
        final SqlType sqlType;
        
        List<String> columns;
        String table;
        String database;
        WhereBuilder whereClause;

        public SqlBuilder select(String... columns) {
            this.columns = List.of(columns);
            return this;
        }

        private SqlBuilder(SqlType sqlType) {
            this.sqlType = sqlType;
        }

    }

    public static class WhereBuilder {
        
    }

    enum SqlType {
        SELECT,
        INSERT,
        UPDATE,
        DELETE
    }
}
